Miles Sound System SDK 7.2a

Creative EAX 2, 3, and 4 Providers

Discussion

Miles has extensive built-in support for EAX 2, 3, and 4. EAX is basically a set of environmental reverbation algorithms (and a few other DSP effects in EAX 4) that are performed in hardware on Creative Labs sound cards.

EAX 2 is fairly widely supported, even on non-Creative hardware. Unfortunately, like all hardware based systems, the quality, functionality, and even the stability varies dramatically from sound card to sound card. Intel's EAX 2 support sounds very different from the Creative sound cards, for example. In fact, even Creative's own cards sound very different from each other - an Audigy 4 card sounds quite different than an SBLive or an Audigy 1 - even when using identical EAX 2 software settings.

Due to this variablity, most developers are now authoring solely for software based 3D and environmental reverb systems like those in Miles 7 (even non-Miles developers like id Software have moved this direction). The CPU impact of even the most sophisticated reverb and DSP filters is so small (usually less than 3% in Miles, for example) that being able to author the sound and reverb mix of a game knowing that it always sounds the same is just too big of a win.

That said, if you can guarantee the latest Creative card and sound drivers (say, if you are doing a bundle deal with them, or co-marketing), then EAX hardware does sound great when you take the time to author for it.

That's why most developers that do choose to support EAX usually only support the Creative cards (and even then, usually only the latest hardware). It's hard enough to write a custom sound path just for EAX - let alone multiple ones for the various other sound cards out there.

Each section in this chapter will describe the properties that we expose for each level of the EAX API. Note that EAX 2 is the only API that non-Creative cards currently emulate, if you are trying for widest compatibility.

Creative EAX 2, 3, and 4 Providers
Creative's EAX 2 Properties
Creative's EAX 3 Properties
Creative's EAX 4 Properties
EAX_SAMPLE_SLOT_VOLUME used to control the sound levels for a slot that the sample should play to
EAX_SAMPLE_SLOT_VOLUMES used to control the sound levels for each the two possible slots that the sample can play into
EAX_REVERB used to control the environmental reverb filter in the EAX 4 3D provider
EAX_AUTOGAIN used to control the automatic gain control filter in the EAX 4 3D provider
EAX_AUTOWAH used to control the autowah filter in the EAX 4 3D provider
EAX_CHORUS used to control the chorus filter in the EAX 4 3D provider
EAX_DISTORTION used to control the distortion filter in the EAX 4 3D provider
EAX_ECHO used to control the echo filter in the EAX 4 3D provider
EAX_EQUALIZER used to control the equalizer filter in the EAX 4 3D provider
EAX_FLANGER used to control the flange filter in the EAX 4 3D provider
EAX_FSHIFTER used to control the frequency shifter filter in the EAX 4 3D provider
EAX_VMORPHER used to control the vocal morpher filter in the EAX 4 3D provider
EAX_PSHIFTER used to control the pitch shifter filter in the EAX 4 3D provider
EAX_RMODULATOR used to control the ring modulator filter in the EAX 4 3D provider

For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.